664342f95ca80ea6d43df86ead73d9887eb5933e,MekHQ/src/mekhq/campaign/personnel/Person.java,Person,procreate,#,964

Before Change


						GregorianCalendar tCal = (GregorianCalendar) campaign.getCalendar().clone();
						tCal.add(GregorianCalendar.DAY_OF_YEAR, PREGNANCY_DURATION.getAsInt());
						setDueDate(tCal);
						campaign.addReport(getHyperlinkedName()+" has conceived");
						if (campaign.getCampaignOptions().logConception()) {
						    addLogEntry(campaign.getDate(), "Has conceived");
				        }

After Change


	}

    public void procreate() {
        if(!isFemale() || isPregnant()) {
            return;
        }
        // Spouse NULL protection...
        if((getSpouseID() != null) && (getSpouse() == null)) {
            setSpouseID(null);
        }
        if (!isDeployed()) {
            // Age limitations...
            if (getAge(campaign.getCalendar()) > 13 && getAge(campaign.getCalendar()) < 51) {
                boolean concieved = false;
                if (getSpouse() == null && campaign.getCampaignOptions().useUnofficialProcreationNoRelationship()) {
                    // 0.005% chance that this procreation attempt will create a child
                    concieved = (Compute.randomInt(100000) < 2);
                } else if (getSpouse() != null) {
                    if (getSpouse().isActive() && !getSpouse().isDeployed() && getSpouse().getAge(campaign.getCalendar()) > 13) {
                        // 0.05% chance that this procreation attempt will create a child
                        concieved = (Compute.randomInt(10000) < 2);
                    }
                }
                
                if(concieved) {
                    GregorianCalendar tCal = (GregorianCalendar) campaign.getCalendar().clone();
                    tCal.add(GregorianCalendar.DAY_OF_YEAR, PREGNANCY_DURATION.getAsInt());
                    setDueDate(tCal);
                    int size = PREGNANCY_SIZE.getAsInt();
                    extraData.set(PREGNANCY_CHILDREN_DATA, size);
                    extraData.set(PREGNANCY_FATHER_DATA,
                        (null != getSpouseID()) ? getSpouseID().toString() : null);

                    String sizeString = (size < PREGNANCY_MULTIPLE_NAMES.length) ? PREGNANCY_MULTIPLE_NAMES[size] : null;
                    if(null == sizeString) {
                        campaign.addReport(getHyperlinkedName()+" has conceived");
                        if (campaign.getCampaignOptions().logConception()) {
                            addLogEntry(campaign.getDate(), "Has conceived");
                        }
                    } else {
                        campaign.addReport(getHyperlinkedName()+" has conceived " + sizeString);
                        if (campaign.getCampaignOptions().logConception()) {
                            addLogEntry(campaign.getDate(), "Has conceived " + sizeString);
                        }